package com.cn.boot.student.service.team;

import com.cn.boot.student.entity.TeamEntity;
import com.cn.boot.student.util.CommonResult;

import java.util.List;

/**
 * 小组管理服务接口层
 * @author luosir
 */
public interface ITeamService {
    /**
     *小组列表,分页，条件查询
     * @param teamEntity
     * @return
     */
    CommonResult findAll(TeamEntity teamEntity);

    /**
     * 小组添加
     * @param teamEntity
     * @return
     */
    CommonResult add(TeamEntity teamEntity);

    /**
     * 小组更新
     * @param teamEntity
     * @return
     */
    CommonResult update(TeamEntity teamEntity);

    /**
     * 删除小组
     * @param id
     * @return
     */
    CommonResult del(Integer id);

    /***
     * 批量删除小组
     * @param ids
     * @return
     */
    CommonResult dels(List<Integer> ids);

    /**
     * 小组分配成员
     * @param teamEntity
     * @return
     */
    CommonResult assignStudent(TeamEntity teamEntity);

    /**
     * 根据id查询小组信息
     * @param id
     * @return
     */
    CommonResult findById(Integer id);

    /**
     * 得到所有角色为教练的用户
     * @return
     */
    CommonResult findAllCoach();

    /**
     * 得到所有角色为组长的用户
     * @return
     */
    CommonResult findAllLeader();

    /**
     * 得到已经分配小组的学员
     *
     * @return
     */
    CommonResult getIsAssignStudent(TeamEntity teamEntity);

    /**
     * 得到未分配小组的学员
     * @return
     */
    CommonResult getNoAssignStudent(TeamEntity teamEntity);
}
